<template>
  <div>
    <van-datetime-picker
      v-model="currentDate"
      type="date"
      title="选择年月日"
      :min-date="minDate"
      :max-date="maxDate"
      @cancel="$emit('close')"
      @confirm="onConfirm"
    />
  </div>
</template>

<script>
export default {
  name: 'EditBirthday',
  props: {
    value: {
      type: String,
      required: true
    }
  },
  data () {
    return {
      // 当前时间，可选最小时间以及最大时间
      currentDate: this.value === '' ? new Date() : new Date(this.value),
      minDate: new Date(1949, 0, 1),
      maxDate: new Date()
    }
  },
  methods: {
    async onConfirm (value) {
      // 手动格式化时间格式并获取
      /**
       *  或者引入 dayjs
       *  再通过 dayjs(value).format('YYYY-MM-DD') 来格式化
       */
      const date = `${value.getFullYear()}-${value.getMonth() + 1}-${value.getDate()}`
      console.log(date)
      this.$toast.loading({
        message: '保存中！',
        forbidClick: true
      })
      try {
        await this.$https.patch('/app/v1_0/user/profile', {
          birthday: date
        })
        this.$emit('input', date)
        this.$emit('close')
        this.$toast.success('修改成功！')
      } catch (error) {
        this.$toast.fail('修改失败！')
      }
    }
  }
}
</script>

<style>
</style>
